import { stringify } from 'qs';
import request from '@/utils/request';

/**
 * 根据用户信息查询场馆List
 * @param {*} params 
 */
export async function fetchShopList(params) {
  return request('/venueInfo/queryVenueInfoListByUserId', {
    method: 'POST',
    requestType:'form',
    data: { ...params },
  });
}

/**
 * 根据当前登录人查询教练List
 * @param {*} params 
 */
export async function fetchCoach(params) {
  return request('/sys/user/queryCoachAndSale', {
    method: 'POST',
    data: {
      ...params
    },
  });
}

/**
 * 保存排期
 * @param {*} params 
 */
export async function saveSchedule(params) {
  return request('/classTableInfo/save', {
    method: 'POST',
    data: params,
    // arrayFormat: 'brackets'
  });
}

/**
 * 查询场地信息列表不分页，根据场馆id
 * @param {*} params 
 */
export async function querySiteInfoListByVenueIdNotPage(params) {
  return request(`/siteInfo/querySiteInfoListByVenueIdNotPage?${stringify(params)}`);
}

/**
 * 查询所有课程基本信息列表
 * @param {*} params 
 */
export async function selectAllCourse(params) {
  return request('/courseBasic/selectAll', {
    method: 'POST',
    requestType:'form',
    data: {
      ...params
    },
  });
}

/**
 * 课表
 * @param {*} params 
 */
export async function classTableInfoList(params) {
  return request('/classTableInfo/list', {
    method: 'POST',
    data: {
      ...params
    },
  });
}


/**
 * 课表列表
 * @param {*} params 
 */
export async function queryPrivateSchedule(params) {
  return request('/classTableInfo/listPage', {
    method: 'POST',
    data: {
      ...params
    },
  });
}

/**
 * 查询课程表信息
 * @param {*} params 
 */
export async function queryClassTableInfoById(params) {
  return request('/classTableInfo/list', {
    method: 'POST',
    data: {
      ...params
    },
  });
}

/**
 * 编辑课时
 * @param {*} params 
 */
export async function updateClassTableInfo(params) {
  return request('/classTableInfo/update', {
    method: 'POST',
    data: {
      ...params
    },
  });
}

/**
 * 复制课表
 * @param {*} params 
 */
export async function copyClassTable(params) {
  return request('/classTableInfo/copyClassTable', {
    method: 'POST',
    data: {
      ...params
    },
  });
}

/**
 * 批量删除课程表
 * @param {*} params 
 */
export async function batchRemoveSchedule(params) {
  return request(`/classTableInfo/batchDelete?${stringify(params, { arrayFormat: 'repeat' })}`);
}

export async function removeSchedule(params) {
  return request(`/classTableInfo/delete?${stringify(params)}`);
}